An architectural feature of many data processing systems is a direct memory access (DMA) controller. A DMA controller is provided with CPU-type logic and is dedicated to the sole task of moving data between an external system bus and system memory. A typical DMA controller is connected to the external bus and includes the logic necessary to compensate for different operating frequencies of the external bus and system memory. For example, in a system having an external Micro Channel bus, a DMA controller may be connected to a slot on the Micro Channel. This type of DMA controller includes logical circuitry for handling data transfer, including compensation for timing and frequency differences between the CPU clock and the Micro Channel clock. Inherently, this known DMA controller is an extremely complex unit with its operation considerably influencing the overall performance of the system.